using System.Collections.Generic;
using NFreeMarker.Template;

namespace NFreeMarker.Core
{
    /**
      * An interface that represents a local context. This is used as the abstraction for  
      * the context of a Macro invocation, a loop, or the nested block call from within 
      * a macro.
      * <a href="mailto:jon@revusky.com">Jonathan Revusky</a>
      */

    public interface ILocalContext
    {
        ITemplateModel GetLocalVariable(string name);
        IEnumerable<string> GetLocalVariableNames();
    }
}